perm filename R1300.ART[ESS,JMC] blob
sn#005563 filedate 1972-05-07 generic text, type T, neo UTF8
00100 ROBOTS
00200
00300
00400 A robot is an artificial intelligent being usually considered
00500 to have human form. The idea of making a robot by magic is ancient,
00600 and the idea of making one by science goes back to Mary Shelley's
00700 "Frankenstein, or the Modern Prometheus" in 1818. The word "robot"
00800 from the Czech word for work was introduced in a play R.U.R. by
00900 Karel Capek in 1920, and robots are popular in science fiction.
01000
01100 Mechanisms that imitate some of the functions of humans or
01200 animals have been constructed for several hundred years, but a real
01300 robot must have two properties that were not really feasible until
01400 the stored program digital computer was developed in the late 1940's.
01500 These are sensory input from the outside world so that the machine's
01600 actions will take the world into account and an internal model of the
01700 outside world, the machine's goals, and the laws that determine the
01800 effects of the actions the machine may undertake. The pre computer
01900 automata, while sometimes very elaborate, essentially went through
02000 fixed, built-in sequences of actions.
02100
02200 The first modern discussion of the possibilities of
02300 intelligent machines was by the British mathematician Alan Turing in
02400 1950. Turing was well fitted for this, because in 1936 he had shown
02500 the existence of universal computational machines and had also taken
02600 part in the design of early computers. (A universal computational
02700 machine can do any computation that can be done by any machine,
02800 because it can use a description of the other machine in order to
02900 imitate it. All present computers are universal.) Turing's article
03000 accomplished three things:
03100
03200 1. It set forth as a sufficient criterion for intelligence
03300 the ability to imitate a human over a teletype line. This clarified
03400 Turing's argument with people who argued that a machine could not be
03500 intelligent because it does what it is told.
03600
03700 2. It established that the difficult problem is not the
03800 construction of the robot or the computer, but programming it. It is
03900 possible to use any stored program digital computer, and the problem
04000 is to make up the rules that determine how it will act in any
04100 situation. These rules have to be understood very precisely in order
04200 to express them as a computer program. The rules must also be very
04300 general, because the programmer cannot provide for the details of the
04400 situations that will come up.
04500
04600 3. It proposed the problems of making programs for playing
04700 chess and proving mathematical theorems as major goals for research
04800 in artificial intelligence, giving reasons why these are worthwhile
04900 problems and some ideas for getting started.
05000
05100 Since Turing's time, artificial intelligence has slowly
05200 developed into an important scientific field with numerous branches
05300 and with numerous ideas of what the fundamental problems are. To save
05400 the reader suspense, let me first admit that we don't have really
05500 intelligent robots yet. In fact, as we shall see, there are
05600 fundamental scientific problems to be solved and maybe even
05700 formulated. I am rather confident, however, that it will be possible
05800 to write computer programs as smart as people no sooner than five
05900 years hence and no later than 500 years hence. However, before going
06000 into details about what has been accomplished and what the problems
06100 are, it is worthwhile to consider the science fiction ideas of
06200 robots, since most of us have gotten our first ideas of robots from
06300 science fiction.
06400
06500 First, while an author sometimes simply wants to tell us what
06600 he thinks the future will be like, usually he has some other theme.
06700 Sometimes, he is simply writing an adventure story. Then the
06800 robots often help provide the conflict by trying to conquer the world
06900 on their own behalf or on behalf of their makers. There may be both
07000 good robots and bad robots in the story. Another common theme is the
07100 robot as the oppressed class or race. They may revolt or suffer
07200 helplessly and pathetically or be liberated by some analogy of equal
07300 races living in harmony. In any case, the robots are given as many
07400 human motivational, emotional, social, or political attributes as
07500 will suit the author's purpose. Another theme is that of King Midas
07600 in which an apparent good thing is fated to turn out badly.
07700
07800 One of the more popular science fiction concepts is Isaac
07900 Asimov's three laws of robotics which require that a robot protect
08000 man, protect itself, and carry out its orders in that order of
08100 priority. Some of Asimov's plots hinge on complexities in the
08200 interpretation of these laws in particular cases leading to neurotic
08300 behavior of the robot. Asimov portrays these laws as built into the
08400 "positronic brain", but clearly they resemble legal laws more than
08500 natural laws; in these stories Asimov ignores the possibility that
08600 the robot may do harm because its conception of the world is
08700 inadequate to determine the consequences of a proposed action.
08800
08900 Some other sources of unreality are: Writers generally
09000 depict worlds with one or two forms of artificial intelligence; there
09100 are likely to be many. It is very difficult to depict an
09200 intelligence greater than one's own, and it is also difficult to
09300 depict a large scale human effort in a meaningful way. Thus the
09400 Apollo moon landing involved hundreds of thousands of people over an
09500 eight year period; the typical pre-Sputnik depiction of the first
09600 moon landing involved an effort of a few individuals.
09700
09800 All this is not intended to show that the science fiction
09900 ideas of robots are totally worthless. We may get from them some
10000 ideas of opportunities to be exploited and problems to be avoided. As
10100 I see it, the real development of artificial intelligence is likely
10200 to differ from the science fictional in the following ways:
10300
10400 1. It is unlikely that there will be a prolonged period
10500 during which it will be possible to build machines as intelligent as
10600 humans but impossible to build them much smarter. If one can put a
10700 machine capable of human behavior in a metal skull, one can put a
10800 machine capable of acting like 10,000 co-ordinated people in a
10900 building. This alone kills most of the robot stories.
11000
11100 2. The present stock of ideas is inadequate to make programs
11200 as intelligent as people even if these ideas are developed diligently
11300 over a long time. They may even be inadequate to make a program as
11400 intelligent as a dog. On the other hand, there is nothing to
11500 preclude the required new ideas coming very soon. It may take five
11600 years, and it may take five hundred.
11700
11800 3. Present ideas are probably good enough to make possible
11900 many extensions of human ability to have large amounts of information
12000 at one's fingertips, to check long trains of reasoning and even to
12100 generate simple hypotheses.
12200
12300 4. There are several policies societies might take towards
12400 artificial intelligence. a. Put off any decision until it seems more
12500 iminent. b. Suppress it. c. Use it unrestrictedly. d. Make it as
12600 powerful as possible, but control its application. e. Regard AI or
12700 some merger of human and artificial intelligence as a next step in
12800 evolution.
12900
13000 5. To determine the effects of the different policies that
13100 might be adopted is quite difficult now. Better understanding of
13200 both AI and human society is needed for correct decisions. In fact,
13300 if one had a substantial artificial intelligence, the first question
13400 to ask it would be to show us in as much detail as possible the
13500 consequences of each of the policies that might be adopted concerning
13600 its application.
13700
13800 Before cooking rabbit stew, one must first catch the rabbit.
13900 How far along are we in developing artificial intelligence and
14000 robotics?
14100
14200 Not very far, but some progress has been made.
14300
14400 Artificial intelligence may be divided into three sub-topics:
14500 heuristics, representation theory and robotics.
14600
14700 Heuristics is concerned with the search for a solution to a
14800 problem among a collection of alternatives. Representation theory is
14900 concerned with the structure of the information a computer program or
15000 a person may have about the world, the facts that allow it to
15100 determine the effects of the actions it may take, and the methods
15200 available for getting more information. Robotics is concerned with
15300 the perception and action in the physical world.
15400
15500 The most developed of these subjects is heuristics. There is
15600 some general theory concerned with good methods of searching spaces
15700 of alternatives, but most of our insight into where we stand compared
15800 to human intelligence comes from comparing the performance of
15900 computer programs in playing games and proving mathematical theorems
16000 with human performance.
16100
16200 The most studied game has been chess. The best result in
16300 comparison with human play was achieved several years ago by a
16400 program written by Richard Greenblatt of M.I.T. His program played
16500 class C chess at that time. In fact, it won its class C rating by
16600 winning the class D trophy in a regular chess tournament in Boston.
16700 (Chess players have been quite hospitable to computer programs so
16800 far, but as the above results show, they aren't much challenged yet).
16900 For the last few years, there has been a computer chess tournament in
17000 connection with the annual meeting of the Association for Computing
17100 Machinery. The current champion at this tournament is a program
17200 written at Northwestern University.
17300
17400 This performance is quite modest considering that these
17500 programs are capable of examining several hundred positions per
17600 second on present day computers. However, even these results have
17700 been achieved with a great deal of effort, and the earlier programs
17800 were much worse. Part of the progress has involved the incorporation
17900 of specific knowledge about chess, but the major defects in early
18000 programs can better be described as coming from leaving out aspects
18100 of general human intelligence that are rather obvious once they are
18200 pointed out. Moreover, the weaknesses of present programs seem to
18300 come from lack of general intelligence rather than lack of chess
18400 knowledge. This is confirmed by the fact that programs written
18500 under the direction of chess grandmasters have not done as well as
18600 those written by people interested in heuristic programming.
18700
18800 In order to see what a few of these intellectual mechanisms
18900 are, consider how chess programs work. They all work by exploring
19000 the so-called move tree of the game. In an initial position the
19100 machine has a number of moves which can be regarded as the branches
19200 of a tree. Each move leads to a position in which the opponent
19300 has a number of moves which gives another level of branches of the
19400 tree, and so on. Ultimately, the branching stops at positions in
19500 which the game is over either because one player one or a recognized
19600 draw position has been reached or because 50 moves have elapsed
19700 without a capture or a pawn move. It would be easy to write a
19800 computer program that would play perfect chess by examining all the
19900 positions on the move tree. The program would be smaller and use
20000 less storage than present chess programs. The only problem is that
20100 it would take too long to move, because the full move tree is quite
20200 large. In fact, if every electron in the universe visible to
20300 astronomers were a computer that could examine a position in the time
20400 it takes light to cross an electron, then the time remaining until
20500 the stars dissipate their energy would not suffice to determine the
20600 best first move in chess.
20700
20800 Therefore, programs look only at a small part of the move
20900 tree, and the program's level of play depends critically on the rules
21000 that determine what positions are examined. Most programs do not
21100 consider all possible moves even at the initial level. An effort is
21200 made to consider only moves that may contribute to some goal, and for
21300 each possible goal programs are written that generate moves that may
21400 contribute to it. Goals included in typical programs are attacking
21500 the opponent's king, defending one's own, winning material, getting a
21600 good development, getting a good pawn structure, disrupting the
21700 opponent's pawn structure, etc. In order to prevent the program from
21800 going deeper and deeper there are stop rules. In general, one tries
21900 to stop the analysis at quiescent positions that can be evaluated
22000 without further look-ahead. Besides this, it pays to set an initial
22100 level of aspiration that changes as the analysis proceeds and to stop
22200 the analysis of positions that clearly cannot lead to reaching this
22300 level. It also pays to keep a level of aspiration for the opponent
22400 based on the alternatives that have already been examined for him.
22500
22600 When a chess program makes a bad move in a position, we can
22700 make it print out the tree of moves it has examined in reaching its
22800 decision. It usually turns out that the trouble comes from it not
22900 having examined an important move, either its own or its opponent's.
23000 This is much more common than having examined the right moves but
23100 mis-evaluating a quiescent position. On the other hand, it will
23200 usually have spent much time examining moves that strike the human
23300 player as not worth looking at.
23400
23500 When we find that the program has failed to look at a line of
23600 play that a human would look at, this is usually readily fixed by
23700 finding a new principle for looking at moves. Of course, this
23800 principle may make us look at moves a human would ignore. This is
23900 all right provided it doesn't make us waste too much time.
24000 Unfortunately, this often happens, and it is much harder to devise
24100 principles that will allow us to ignore moves safely.
24200
24300 There are several aspects of human game playing that no-one
24400 has yet been able to make computers do satisfactorily. First of all,
24500 a human will often break a position down into several sub-positions,
24600 analyze them separately, and then combine the analyses. There is
24700 still not any good way of programming the identification of the
24800 sub-positions. Secondly, a move often has properties that apply to a
24900 whole class of positions; thus an opponent's move may capture our
25000 queen in a all the positions resulting from moves of ours that do not
25100 move the threatened queen. Thirdly, we do not yet have a system for
25200 recognizing that an aspect of a position is one we have a general
25300 rule for; thus no present chess program can be instructed about
25400 smother mates in any general way let alone develop the concept from
25500 its experience.
25600
25700 In a few board games, computer programs play better than the
25800 best human players. Such a game is Kalah, an American commercial
25900 version of a game played in Africa and Asia. A program written at
26000 M.I.T. and Stanford for a now defunct computer beat any players we
26100 were able to find. In general, these are games in which the
26200 intellectual mechanisms we know how to program such as look-ahead and
26300 evaluation are adequate for successful play. On the other hand, if
26400 the game positions have strategic features that persist throughout
26500 the game, present programs do badly, because no-one yet knows how to
26600 program strategic play well. No one game gives scope to all our
26700 human intellectual mechanisms.
26800
26900 The other area to which heuristic programming has been
27000 extensively applied is proving mathematical theorems. The results
27100 are similar to the game playing results but not as good. A certain
27200 collection of intellectual mechanisms have been identified and
27300 programmed. In domains of mathematics where they are adequate,
27400 the programs do rather well. Unfortunately, the scope of these
27500 mechanisms is still very narrow compared to mathematics as a whole.
27600
27700
27800 THE PROBLEM OF REPRESENTATION
27900
28000 The efforts to make game playing and theorem proving programs
28100 have led to the identification of important intellectual mechanisms
28200 of general significance, but the programs themselves are quite narrow
28300 in their capability. Therefore, considerable effort has also gone
28400 into trying to make programs of general intellectual capability, and
28500 there is much controversy on how best to do this.
28600
28700 One approach, which was tried in the late fifties and early
28800 sixties, involved simulation of evolution by having a machine or
28900 computer program that gave answers to problems. The machine or
29000 program was divided into parts and each part had a certain
29100 probability of being changed at each time. When a problem was solved
29200 correctly, the parts that operated in the correct run were "rewarded"
29300 by having their probability of change reduced, and when an incorrect
29400 answer was given the active parts were "punished" analogously. Other
29500 schemes kept the same parts but altered their probabilities of
29600 activation according to their success. When applied to problems of
29700 pattern classification such as identifying the letter of the alphabet
29800 a picture showed, these schemes had some success, but none of them
29900 turned out to be capable of learning any generally intelligent
30000 behavior. The problem is that in the schemes used for representing
30100 behavior, it didn't turn out that meaningful changes of behavior were
30200 represented by small changes in the representation.
30300
30400 Another approach to general intelligence was the General
30500 Problem Solver of Newell and Simon. This involved representing an
30600 arbitrary problem as one of transforming one expression into another
30700 via intermediate expressions using certain allowed rules of
30800 transformation. A number of problems were put into this form and
30900 solved by the General Problem Solver, and the results were compared
31000 with the records of sessions in which humans solved the problems. In
31100 the end, however, the General Problem Solver wasn't general enough.
31200 In particular, their goal of representing the problem of improving
31300 GPS as a GPS problem easy enough for GPS to make some progress on was
31400 not achieved.
31500
31600 A third approach involves the use of mathematical logic. In
31700 the middle of the nineteenth century, the English mathematician
31800 George Boole began the development of a formal language for
31900 expressing mathematical ideas. This development was continued by
32000 such mathematicians as Gottlob Frege and Bertrand Russell. When we
32100 say a language is formal, we have three properties in mind: Effective
32200 rules are given that determine which strings of letters and digits
32300 and special characters are supposed to be sentences in the language.
32400 Effective rules are given that determine when a sentence is to be
32500 regarded as an immediate consequence of several others. Finally, if
32600 the language is to refer to something outside itself, some rules have
32700 to be given in English that tell what the objects of the language
32800 refer to. The concept of "effective rule" used here by the
32900 mathematical logicians turns out to be the same as "checkable by
33000 computer".
33100
33200 Just as present electronic computers are universal in the
33300 sense that any computation doable on any machine can be done on a
33400 universal machine, so the so-called first order logic is universal in
33500 that any effective system can be described in first order logic. Of
33600 course, this description may be quite cumbersome.
33700
33800 The use of logic in artificial intelligence is in principle
33900 quite straightforward. The idea is to express what human beings know
34000 about the world in general and about particular situations in logical
34100 form. It is especially important to be able to express what is known
34200 about the effects of actions people may take and what is known about
34300 the future consequences of a present state of affairs. If this has
34400 been done, then the fact that a certain course of action will achieve
34500 a prescribed goal should follow from the aforementioned set of facts.
34600 Suppose we have a logical system and a particular set of facts such
34700 that it follows from these facts that a certain goal can be achieved
34800 by a certain course of action. We still need a program that given
34900 the facts can find the course of action and deduce that it will win.
35000 Different programs will have different capabilities, and no program
35100 will be able to achieve all goals whose achievability follows from
35200 the facts.
35300
35400 Therefore, the use of logical formalism splits the AI problem
35500 into two parts: the problem of representing the facts in a logical
35600 system and the problem of finding out what to do given the facts. The
35700 latter problem is a problem in heuristics as described in the
35800 previous section. The representation problem has much in common with
35900 the branch of philosophy called epistemology which is concerned with
36000 what knowledge is and what its limits are. It is also connected
36100 with philosophical logic which is concerned with the formal
36200 description of concepts like ability, causality, and knowledge.
36300
36400
36500 ROBOTICS
36600
36700 Putting all this together, what progress has been made
36800 towards making a mechanical man that will clank about and either try
36900 to conquer the world or suffer oppression from the prejudiced?
37000
37100 Consider first the hardware situation. There isn't any
37200 mechanical man with two legs, two arms, two eyes, and a brain. It is
37300 not certain that present day mechanical engineering could package the
37400 necessary motors, joints, etc. in a frame light enough to be moved by
37500 the motors. At any rate no-one has tried. There are, however, a lot
37600 of parts. Specifically, to computers have been attached artificial
37700 arms, television cameras, microphones, and radio and TV connections
37800 to vehicles that can roll around on the floor. The computers used
37900 have been large ones, weighing many tons, but suitable small
38000 computers used for aerospace applications exist. However, they are
38100 very expensive and not as convenient to use as a good laboratory
38200 time-shared computer.
38300
38400 However, the main bottleneck is not the hardware but the
38500 programming, and within programming the most immediate bottleneck is
38600 programming vision. When a television camera is attached to a
38700 computer the computer can read a frame from the camera into its
38800 memory. The picture is then represented by about 500x500 = 250000
38900 numbers each giving the brightness of a point in the picture. If
39000 color is wanted, three frames can be taken, through red, green and
39100 blue filters. At this point the picture is in the computer as can be
39200 verified by printing it out again or displaying it on a TV monitor
39300 connected to the computer. In fact, pictures can be improved by
39400 computer processing more flexibly than in a darkroom. This has
39500 proved quite useful in connection with the pictures transmitted from
39600 the vicinity of Mars by the Mariner spacecraft. The processing is
39700 used to eliminate noise, improve contrast and transform pictures
39800 taken from different directions to a common direction and scale so
39900 that the pictures can be compared to look for changes.
40000
40100 None of these operations require the computer program to
40200 identify and locate the objects in the picture. Now consider a
40300 computer program that will build an object out of parts. There are
40400 several levels at which this may be done.
40500
40600 1. The parts come mounted and oriented precisely on a belt.
40700 The arm goes through a fixed sequence of predetermined motions in
40800 order to pick up each part and place it. Fasteners such as bolts and
40900 welding are also used, but also with precise motions. This was
41000 introduced in the late 1960's by two American firms, and there are
41100 now several hundred such arms in use. In particular, the new General
41200 Motors plant for producing Vega cars at Lordstown, Ohio uses many
41300 such manipulators, but even there they do only a small part of the
41400 work of putting together a car. Such "robots" ordinarily are not
41500 directly computer controlled. Instead they are controlled by a tape
41600 or drum on which has been recorded the desired motions by a human
41700 being who put the robot through the desired operation. The exact
41800 same motions (to the hundredth of an inch if the machinery is that
41900 accurate) are repeated each time. The only variability is in timing
42000 since the machine can be instructed to wait after completing one
42100 operation until it receives a signal to perform the next operation.
42200 These signals may be generated by switches that detect that a part is
42300 in place for the operation to proceed. The applications of this
42400 kind of robot are somewhat limited. In the first place they are
42500 expensive enough so the tendency is to use them for operations that
42600 are dangerous such as putting a part in a press or a furnace.
42700 Secondly, it is often expensive or impossible to arrange for the
42800 parts to be so precisely made and so precisely placed that the
42900 operations required can be repeated exactly. A human can pick up a
43000 part from anywhere on a belt and can often bend things that won't fit
43100 without it. Nonetheless, there are many applications for which this
43200 kind of first level robot can be used, and many thousands will
43300 probably be installed in the U.S. in the 1970's.
43400
43500 2. The second stage robot involves a computer controlled arm
43600 with a television camera for an eye. The objects manipulated are
43700 simple and have flat faces. The program can build a simple structure
43800 out of these objects.
43900
44000 This work is still in the laboratory. Here are three
44100 examples of what has recently been accomplished: At the M.I.T.
44200 Artificial Intelligence Laboratory, a computer controlled arm has
44300 copied a structure made of blocks. At the Stanford University
44400 Artificial Intelligence Laboratory, a program did a puzzle requiring
44500 that a tower of four blocks with specified colors on the faces be
44600 built. At the Hitachi Central Research Laboratory, a program has
44700 built a simple structure out of blocks working from a drawing giving
44800 an orthographic projection of the desired structure.
44900
45000 All these tasks were accomplished in about the same way:
45100 First the program finds the edges of the objects in the scene. by
45200 scanning the array of brightnesses of the picture it has read from
45300 the TV camera into the memory of the computer. When it finds a
45400 sudden change in brightness, it scans in a circle about the point
45500 looking for the dark-to-light transition. If it finds the
45600 transition, it takes this point as the center of a new circle, and
45700 thus traces along the dark-to-light boundary. In this way it finds
45800 all the edges in the picture. (Actually edge finding is more
45900 complicated than this, because not all edges are between regions of
46000 different brightnesses; in some cases the edges themselves reflect
46100 the light. Also there are shadows to be ignored if possible.) After
46200 the edges are found, the program determines the three dimensional
46300 collection of objects that would give rise to this pattern of edges.
46400 Some of the objects may be partly hidden behind others, and the
46500 program makes plausible assumptions about the hidden parts. Moreover,
46600 present programs cannot deal with curved objects in any general way;
46700 either the objects must have all flat faces or each curved object to
46800 be found must be explicitly programmed for. Once the objects in the
46900 scene have been found, the computer determines the trajectories of
47000 arm motion that will move them to the desired places. Generally the
47100 arm motion is done without visual feedback largely because the arms
47200 are more complicated objects than the present vision programs can
47300 handle.
47400
47500 3. Programs are being developed to use more visual
47600 information than brightness discontinuities. This work includes
47700 color-contrast edges, edges determined by discontinuities in parallax
47800 that occur when an object is seen against a background. Another cue
47900 is the texture of regions.
48000
48100 4. While these techniques will make edge detection and region
48200 finding more versatile, they don't solve the basic problem of
48300 representation of visual information. An object with flat faces can
48400 be described by listing its faces, describing each face by listing
48500 its edges, and describing each edge by giving its endpoints. But how
48600 are we to describe a human head? The description must cover the
48700 subtleties of shape by which we tell one human from another, but
48800 clearly should not describe each hair. There are various ideas for
48900 dealing with this, mostly still too vague to be described here, but
49000 they are all too limited in their potential capability. Progress
49100 depends on a large new idea.
49200
49300 5. As we have stated, vision is perhaps the most immediate
49400 problem in robotics. However, even when we have programs with
49500 reasonable vision and manipulation capabilities, we will still be far
49600 from having an intelligent machine. Suppose we want a robot capable
49700 of being a domestic servant. Then we need to program at least the
49800 following capabilities:
49900
50000 a. It must know the properties of physical objects, e.g. to
50100 put eggs in a paper bag, it must know that eggs must be placed
50200 gently, that the paper bag can change its shape as it is opened and
50300 things are put in it. It must know about doors and drawers and
50400 stairs.
50500
50600 b. It must know about people and what they want and how they
50700 change their minds.
50800
50900 c. It must have some understanding of speech.
51000
51100 d. It must know about how to divide tasks into subtasks.
51200
51300 e. It must be able to recognize that one of its planned
51400 actions will have a harmful side-effect.
51500
51600 f. It must know when to give up and whether to ask for help.
51700
51800 g. It must have at least a primitive ability to learn from
51900 experience, at least enough so that if it is shown how to do a task,
52000 it will be able to do it again in similar circumstances.
52100
52200 The critical reader will recognize that this list of what a
52300 robot must know is itself incomplete and may include superficial
52400 items and leave out more basic ones. This reflects the present state
52500 of our understanding of artificial intelligence.